home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 25 / Cream of the Crop 25.iso / image / etw203.zip / DEMO / DEMO1.PAS < prev   
Pascal/Delphi Source File  |  1997-02-27  |  4KB  |  147 lines

  1. unit Demo1;
  2.  
  3. interface
  4.  
  5. uses
  6.   SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  7.   Forms, Dialogs, ExtCtrls, EnhTwain, StdCtrls, Buttons;
  8.  
  9. type
  10.   TForm1 = class(TForm)
  11.     Panel1: TPanel;
  12.     scanner: TEnhTwain;                        
  13.     ScrollBox1: TScrollBox;
  14.     image: TImage;
  15.     Panel2: TPanel;
  16.     Panel3: TPanel;
  17.     BitBtn1: TBitBtn;
  18.     BitBtn2: TBitBtn;
  19.     Interactive: TCheckBox;
  20.     setup: TPanel;
  21.     Label1: TLabel;
  22.     PixelType: TComboBox;
  23.     Label2: TLabel;
  24.     BDReduction: TComboBox;
  25.     Label3: TLabel;
  26.     BitDepth: TComboBox;
  27.     Label4: TLabel;
  28.     resolution: TComboBox;
  29.     procedure BitBtn1Click(Sender: TObject);
  30.     procedure BitBtn2Click(Sender: TObject);
  31.     procedure scannerCapture(Sender: TObject);
  32.     procedure InteractiveClick(Sender: TObject);
  33.     procedure FormCreate(Sender: TObject);
  34.     procedure scannerLayout(sender: TObject; layout: PDCImageLayout);
  35.     procedure FormShow(Sender: TObject);
  36.   private
  37.     { Private declarations }
  38.     CapaChecked:boolean;
  39.   public
  40.     { Public declarations }
  41.   end;
  42.  
  43. var
  44.   Form1: TForm1;
  45.  
  46. implementation
  47.  
  48. {$R *.DFM}
  49.  
  50. procedure TForm1.BitBtn1Click(Sender: TObject);
  51. begin
  52. scanner.SelectSource;
  53. end;
  54.  
  55. procedure TForm1.BitBtn2Click(Sender: TObject);
  56. begin
  57. case PixelType.ItemIndex of
  58.   0 : scanner.PixelType:=ptDefault;
  59.   1 : scanner.PixelType:=ptBW;
  60.   2 : scanner.PixelType:=ptGray;
  61.   3 : scanner.PixelType:=ptRGB;
  62.   4 : scanner.PixelType:=ptPalette;
  63.   end;  { case }
  64. case BDReduction.ItemIndex of
  65.   0 : scanner.BDReduction:=bdrDefault;
  66.   1 : scanner.BDReduction:=bdrThreshold;
  67.   2 : scanner.BDReduction:=bdrHalftone;
  68.   3 : scanner.BDReduction:=bdrDiffusion;
  69.   end;  { case }
  70. case BitDepth.ItemIndex of
  71.   0 : scanner.BitDepth:=bdDefault;
  72.   1 : scanner.BitDepth:=bd1;
  73.   2 : scanner.BitDepth:=bd2;
  74.   3 : scanner.BitDepth:=bd4;
  75.   4 : scanner.BitDepth:=bd8;
  76.   5 : scanner.BitDepth:=bd10;
  77.   6 : scanner.BitDepth:=bd12;
  78.   end;  { case }
  79. case resolution.ItemIndex of
  80.    0 : scanner.XRes:=0;
  81.    1 : scanner.XRes:=25;
  82.    2 : scanner.XRes:=50;
  83.    3 : scanner.XRes:=75;
  84.    4 : scanner.XRes:=100;
  85.    5 : scanner.XRes:=150;
  86.    6 : scanner.XRes:=200;
  87.    7 : scanner.XRes:=300;
  88.    8 : scanner.XRes:=400;
  89.    9 : scanner.XRes:=500;
  90.   10 : scanner.XRes:=600;
  91.   end;  { case }
  92. case resolution.ItemIndex of
  93.    0 : scanner.YRes:=0;
  94.    1 : scanner.YRes:=25;
  95.    2 : scanner.YRes:=50;
  96.    3 : scanner.YRes:=75;
  97.    4 : scanner.YRes:=100;
  98.    5 : scanner.YRes:=150;
  99.    6 : scanner.YRes:=200;
  100.    7 : scanner.YRes:=300;
  101.    8 : scanner.YRes:=400;
  102.    9 : scanner.YRes:=500;
  103.   10 : scanner.YRes:=600;
  104.   end;  { case }
  105. scanner.acquire(interactive.checked);
  106. end;
  107.  
  108. procedure TForm1.scannerCapture(Sender: TObject);
  109. begin
  110. image.picture.assign(scanner.picture);
  111. end;
  112.  
  113. procedure TForm1.InteractiveClick(Sender: TObject);
  114. begin
  115. setup.visible:=not interactive.checked;
  116. end;
  117.  
  118. procedure TForm1.FormCreate(Sender: TObject);
  119. begin
  120. CapaChecked:=false;
  121. PixelType.ItemIndex  :=0;
  122. BDReduction.ItemIndex:=0;
  123. BitDepth.ItemIndex   :=0;
  124. resolution.ItemIndex :=2;
  125. end;
  126.  
  127. procedure TForm1.scannerLayout(sender: TObject; layout: PDCImageLayout);
  128. begin
  129. Layout^.frame.right .whole:=Layout^.frame.right .whole;
  130. Layout^.frame.right .frac :=0;
  131. Layout^.frame.bottom.whole:=Layout^.frame.bottom.whole div 3;
  132. Layout^.frame.bottom.frac :=0;
  133. end;
  134.  
  135. procedure TForm1.FormShow(Sender: TObject);
  136. begin
  137. if not CapaChecked then
  138.   begin
  139.   if scanner.BitDepth   =bdNotSupported  then BitDepth   .enabled:=false;
  140.   if scanner.BDReduction=bdrNotSupported then BDReduction.enabled:=false;
  141.   if scanner.PixelType  =ptNotSupported  then PixelType  .enabled:=false;
  142.   CapaChecked:=true;
  143.   end;  { if }
  144. end;
  145.  
  146. end.
  147.